#ifndef TOUZHU_H
#define TOUZHU_H

//彩种定义
#define JING_CAI_ZU_QIU        46   //竞彩足球id
#define JING_CAI_LAN_QIU       47	//竞彩篮球id
#define BEI_JING_DAN_CHANG      9	//北京单场id

#define JING_CAI_MAX_CHUAN_SIZE	   9 //用来盛放竞彩多串转成自由的数组大小
#define BEI_DAN_MAX_CHUAN_SIZE     7 //用来盛放北单多串转成自由的数组大小

#define BEI_DAN_DISCOUNT    0.65     //北单每注都要扣35%的奖金
#define MIN_CHUAN		2					//串中的m值最小为2
#define JING_CAI_MAX_MATCHES		15		//最多可选15场比赛
#define MONEY_PER_STAKE		2				//每注2元
#define YES		1
#define NO		0


typedef struct{
	// 胜赔率
	float win;
	// 平赔率
	float draw;
	// 负赔率
	float lose;
	// 是否为胆码，是为1，不是为0
	int is_dan;
	// 是否为有效场次，默认全为1
	int is_eff;
}TouzhuData, *PTouzhuData;//投注比赛的信息


/*
 *函数：get_duochuan_max_money
 *参数：p_touzhu_data 投注的比赛的相关数据
 *    p_chuan p_chuan[0]为m,p_chuan[1]为n
 *	  multiple 倍数
 *	  matchs_count 比赛场数
 *	  lottery_type 彩种
 *返回值：最大奖金数，小于等于0时可认为计算失败
 */
double get_duochuan_max_money(PTouzhuData p_touzhu_data, int *chuan, int multiple, int matchs_count,int lottery_type);

/*
 *函数：get_ziyou_max_money
 *参数：p_touzhu_data 投注的比赛的相关数据
 *    chuan 多个自由串的数组
 *    chuan_size 串数组的大小，竞彩固定长度为9，北单固定长度为16
 *	  multiple 倍数
 *	  matchs_count 比赛场数
 *	  lottery_type 彩种
 *返回值：最大奖金数，小于等于0时可认为计算失败
 */
double get_ziyou_max_money(PTouzhuData p_touzhu_data,int matchs_count, int *chuan, int chuan_size, int multiple,  int lottery_type);

/*
  * 函数： get_ziyou_stake_count
  * 说明： 计算自由过关的注数
  * 参数：matches_detail 存放投注比赛的相关信息，matches_detail[][0]存放是否是胆码,matches_detail[][1]存放选择了几种状态
  *		matches_count 数组长度
  *		chuan 多个自由串的数组
  *		chuan_size 串数组长度，竞彩固定长度为9，北单固定长度为16
  *		lottery_type 彩种id
  */
int get_ziyou_stake_count( int (*matches_detail) [2], int matches_count,  int * chuan, int chuan_size, int lottery_type);

/*
  * 函数： get_duochuan_stake_count
  * 说明： 计算多串过关的注数
  * 参数：matches_detail 存放投注比赛的相关信息，matches_detail[][0]存放是否是胆码,matches_detail[][1]存放选择了几种状态
  *		matches_count 数组长度
  *		chuan chuan[0]为m,chuan[1]为n
  *		lottery_type 彩种id
  */
int get_duochuan_stake_count(int (*matches_detail) [2], int matches_count,  int * chuan, int lottery_type);

#endif
